.\"	$OpenBSD: rpcinfo.8,v 1.14 2010/09/01 14:43:34 millert Exp $
.\"	from: @(#)rpcinfo.8c	2.2 88/08/03 4.0 RPCSRC; from 1.24 88/02/25 SMI
.\"
.\" Copyright (c) 2010, Oracle America, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions are
.\" met:
.\"
.\"     * Redistributions of source code must retain the above copyright
.\"       notice, this list of conditions and the following disclaimer.
.\"     * Redistributions in binary form must reproduce the above
.\"       copyright notice, this list of conditions and the following
.\"       disclaimer in the documentation and/or other materials
.\"       provided with the distribution.
.\"     * Neither the name of the "Oracle America, Inc." nor the names of its
.\"       contributors may be used to endorse or promote products derived
.\"       from this software without specific prior written permission.
.\"
.\"   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
.\"   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
.\"   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
.\"   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
.\"   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
.\"   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\"   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
.\"   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\"   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
.\"   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
.\"   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
.\"   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: September 1 2010 $
.Dt RPCINFO 8
.Os
.Sh NAME
.Nm rpcinfo
.Nd report RPC information
.Sh SYNOPSIS
.Nm rpcinfo
.Fl b Ar program version
.Nm rpcinfo
.Fl d Ar program version
.Nm rpcinfo
.Fl p Op Ar host
.Nm rpcinfo
.Fl s Ar program version port
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl t Ar host program
.Op Ar version
.Nm rpcinfo
.Op Fl n Ar portnum
.Fl u Ar host program
.Op Ar version
.Sh DESCRIPTION
.Nm
makes an
.Tn RPC
call to an
.Tn RPC
server and reports what it finds.
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl b
Make an
.Tn RPC
broadcast to procedure 0 of the specified
.Ar program
and
.Ar version
using
.Tn UDP
and report all hosts that respond.
.It Fl d
Delete registration for the
.Tn RPC
service of the specified
.Ar program
and
.Ar version .
Registrations which point at ports numbered below 1024 can only be
deleted by the superuser.
.It Fl n Ar portnum
Use
.Ar portnum
as the port number for the
.Fl t
and
.Fl u
options instead of the port number given by the portmapper.
.It Fl p
Probe the portmapper on
.Ar host ,
and print a list of all registered
.Tn RPC
programs.
If
.Ar host
is not specified, it defaults to the value returned by
.Xr hostname 1 .
.It Fl s
Create a registration for the
.Tn RPC
service of the specified
.Ar program
and
.Ar version ,
located at port
.Ar port .
Registrations which point at ports numbered below 1024 can only be
created (or changed) by the superuser.
.It Fl t
Make an
.Tn RPC
call to procedure 0 of
.Ar program
on the specified
.Ar host
using
.Tn TCP ,
and report whether a response was received.
.It Fl u
Make an
.Tn RPC
call to procedure 0 of
.Ar program
on the specified
.Ar host
using
.Tn UDP ,
and report whether a response was received.
.El
.Pp
The
.Ar program
argument can be either a name or a number.
.Pp
If a
.Ar version
is specified,
.Nm
attempts to call that version of the specified
.Ar program .
Otherwise,
.Nm
attempts to find all the registered version
numbers for the specified
.Ar program
by calling version 0 (which is presumed not
to exist; if it does exist,
.Nm
attempts to obtain this information by calling
an extremely high version
number instead) and attempts to call each registered version.
Note: the version number is required for
.Fl b
and
.Fl d
options.
.Sh EXAMPLES
To show all of the
.Tn RPC
services registered on the local machine use:
.Pp
.Dl $ rpcinfo -p
.Pp
To show all of the
.Tn RPC
services registered on the machine named
.Ar klaxon
use:
.Pp
.Dl $ rpcinfo -p klaxon
.Pp
To show all machines on the local net that are running the Yellow Pages
service use:
.Pp
.Dl $ rpcinfo -b ypserv 'version' | uniq
.Pp
where 'version' is the current Yellow Pages version obtained from the
results of the
.Fl p
switch above.
.Pp
To delete the registration for version 1 of the
.Nm walld
service use:
.Pp
.Dl $ rpcinfo -d walld 1
.Sh SEE ALSO
.Xr rpc 5 ,
.Xr portmap 8
.Rs
.%T "RPC Programming Guide"
.Re
.Sh BUGS
In releases prior to SunOS 3.0, the Network File System (NFS) did not
register itself with the portmapper;
.Nm
cannot be used to make
.Tn RPC
calls to the
.Tn NFS
server on hosts running such releases.
